#include "util.hpp"
#include "data.hpp"
#include "server.hpp"

void FileTest()
{
    aod::FileUtil("./www").CreateDirectory();
    aod::FileUtil("./www/index.html").SetContent("<html></html>");
    std::string body;
    aod::FileUtil("./www/index.html").GetContent(&body);
    std::cout << body << std::endl;
    std::cout << aod::FileUtil("./www/index.html").Size() << std::endl;
}

void JsonTest()
{
    Json::Value val;
    val["姓名"] = "小李";
    val["年龄"] = 19;
    val["性别"] = "男";
    val["成绩"].append(80.5);
    val["成绩"].append(77.5);
    val["成绩"].append(99.5);

    std::string body;
    aod::JsonUtil::Serialize(val, &body);
    std::cout << body << std::endl;

    Json::Value stu;
    aod::JsonUtil::UnSerialize(body, &stu);
    std::cout << stu["姓名"] << std::endl;
    std::cout << stu["年龄"] << std::endl;
    std::cout << stu["性别"] << std::endl;
    for (auto &a : stu["成绩"])
    {
        std::cout << a.asFloat() << std::endl;
    }
}
void DataTest()
{
    aod::TableVideo tb_video;
    Json::Value video;
    // video["name"] = "水浒传";
    // video["info"] = "一个上山为王的故事";
    // video["video"] = "/video/video.mp4";
    // video["image"] = "/image/image.jpg";

    // tb_video.Insert(video);
    // tb_video.Update(2, video);
    // tb_video.SelectAll(&video);
    //  tb_video.SelectOne(1, &video);
    //  tb_video.SelectLike("游", &video);
    //  std::string body;
    //  aod::JsonUtil::Serialize(video, &body);
    //  std::cout << body << std::endl;
    //  tb_video.Delete(1);
}
void ServerTest()
{
    aod::Server server(9090);
    server.RunMoudule();
}
int main()
{
    // FileTest();
    // JsonTest();
    // DataTest();
    ServerTest();
    return 0;
}